package com.example.employeemanagement.service;

import com.example.employeemanagement.entry.Department;
import java.util.List;
import java.util.Optional;

/**
 * 部门服务接口
 * 定义部门管理的业务逻辑
 */
public interface DepartmentService {
    /**
     * 获取所有部门
     * @return 部门列表
     */
    List<Department> getAllDepartments();
    
    /**
     * 根据ID获取部门
     * @param departmentId 部门ID
     * @return 部门信息
     */
    Optional<Department> getDepartmentById(Integer departmentId);
    
    /**
     * 添加部门
     * @param department 部门信息
     * @return 操作结果消息
     */
    String addDepartment(Department department);
    
    /**
     * 更新部门
     * @param departmentId 部门ID
     * @param department 更新的部门信息
     * @return 操作结果消息
     */
    String updateDepartment(Integer departmentId, Department department);
    
    /**
     * 删除部门
     * @param departmentId 部门ID
     * @return 操作结果消息
     */
    String deleteDepartment(Integer departmentId);
}